A telephone receiver has two parts: the microphone and the speaker. The microphone transmits and the speaker receives.
In a telecommunications network, a data-processing system, such as a telephone switch allocates or connects “ports” for this transmission and reception.
For the purpose of this specification, the term “port” is defined as a data connection that can be used by programs to exchange data directly, instead of going through a file or other temporary storage location. The most common of these are Transfer Control Protocol (TCP) and User Datagram Protocol (UDP) ports which are used to exchange data between computers on the Internet.
Additionally, a port may also have additional resources associated with it. Some of these additional resources comprise, for example, and without limitation, media processing resources such as Automated Speech Recognition, Text-to-Speech conversion, codec conversion, etc.
In establishing a communications channel between the caller and the person, a server, switch, etc. must allocate or connect at least two ports for this communications channel.
Applications may need to provide, for example, voice, video, text, etc. on the same communications channel that the caller is communicating on. When an application needs to provide, for example, an automated voice message on the same communications channel, the server, switch, etc. must allocate two additional ports for this application to provide the automated voice message to the caller. On the other hand, if another application needs to provide another automated voice message, the server, switch, etc. must allocate a third pair of ports, a fourth pair of ports, a fifth pair of ports, etc. for the applications to provide the additional automated voice messages.
One instance in which applications run along a voice call is when using a pre-paid telephone calling card. When a caller is using a pre-paid phone card to call someone, an application may need to provide an automated voice message to notifying the caller that the available time he has remaining on his pre-paid phone card has reached a certain limit (e.g., five minutes or one minute remaining on his pre-paid phone card before the call is disconnected). In this example, the application must contact a server to allocate a third port and a fourth port so that the automated message can be transmitted to the caller.
This current method and system for allocating communications resources is inefficient because servers, switches, etc. have a finite number of ports. By consuming the third port and the fourth port for the automated voice message in this example, other applications cannot use the third port and the fourth port until the application releases the ports.
In the prior art, the problem of finite resources was often solved by the purchase of additional servers, switches, etc. to add additional communications resources—in other words, to increase the number of ports that an application can allocate. However, this is costly.
Therefore, there exists a need for a method and system that can effectively allocate communications resources and, a method and system that can reduce the number of communications resources consumed by an application.